﻿// Copyright © Microsoft Corporation.  All Rights Reserved.
// This code released under the terms of the 
// Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)
// This is sample code only, do not use in production environments

using Microsoft.ALMRangers.TFSKanbanGuidance.GlobalListUpdater;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Xml.Linq;
using System.Xml;

namespace TFSFunctionsTests
{
    
    
    /// <summary>
    ///This is a test class for TFSFunctionsTest and is intended
    ///to contain all TFSFunctionsTest Unit Tests
    ///</summary>
    [TestClass()]
    public class GetGlobalListElementTests
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        // 
        //You can use the following additional attributes as you write your tests:
        //
        //Use ClassInitialize to run code before running the first test in the class
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup to run code after all tests in a class have run
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize to run code before running each test
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup to run code after each test has run
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///A test for GetGlobalListElement
        ///</summary>
        [TestMethod()]
        public void FindExistingGlobalList()
        {
            XDocument document = XDocument.Parse("<gl:GLOBALLISTS xmlns:gl=\"http://schemas.microsoft.com/VisualStudio/2005/workitemtracking/globallists\">" +
            "<GLOBALLIST name=\"Builds - Tailspin Toys\">" +
            "<LISTITEM value=\"Tailspin Toys_20100309.1\" />" +
            "<LISTITEM value=\"Tailspin Toys - Iteration 2_20100309.1\" />" +
            "<LISTITEM value=\"Tailspin Toys - Iteration 2_20100310.1\" />" +
            "</GLOBALLIST>" +
            "<GLOBALLIST name=\"Kanban States\">" +
            "<LISTITEM value=\"Analyze\" />" +
            "<LISTITEM value=\"Implement\" />" +
            "<LISTITEM value=\"Test\" />" +
            "<LISTITEM value=\"Review\" />" +
            "</GLOBALLIST>" +
            "</gl:GLOBALLISTS>");

            var actual = TFSFunctions.GetGlobalListElement(document, "Kanban States");
            Assert.IsTrue(actual.Attribute("name").Value == "Kanban States");
        }
    }
}
